Method for operating a manufacturing line

ABSTRACT

A manufacturing line has a plurality of work stations. The work stations are ordered into sequential flow points through which work in process flows. The work flow through the sequentially ordered flow points is balanced in an automatic data processing machine by starting at the last flow point in the ordered sequence. In a multiproduct path manufacturing line, the flow points on adjacent product paths are ordered into neighborhoods prior to balancing the manufacturing line.

iii States atent Gomersall et a1.

[ 1 Nov. 21, 1972' [54] METHOD FOR OPERATING A MANUFACTURING LINE 72Inventors: Earl Raymond Gomersall, Chicago,

111.; Roger Paul Meyer, Richardson, Tera; Susan English Rejmaniak,

Hackensack, NJ

[73] Assignee: Texas Instruments incorporated,

Dallas, Tex.

[22] Filed: Nov. 2, 1970 g 211 Appl. No.: 86,204

[52] .ELS. Cl ..444/1, 235/1512 [51] int. Cl ..G06f 15/20 [58] Field ofSearch ..235/ l 50; 444/1 [56] References Cited GTHER PUBLICATIONSSmith, S. 13., Planning Transistor Production By Linear Programming, InOperations Research, Volume 13, pages 132-139, 1965, 0175.06.

, Lambourn, S. Resource Allocation and Multi-roject Scheduling (RAMPS),In Computer .1. 5(4): p. 300-04, Jan. 1963, TK7885.A1.C6

Robinson, F. D. The Background of the PERT A1- gorithm, in computer J.5(4): p. 297-00, Jan. 1963, TK7885.Al.C6.,

Primary Examiner-Charles E. Atkinson Assistant Examiner-R. StephenDildine, .lr. Att0rneyJames 0. Dixon, Andrew M. Hassell, Harold Levine,Rene E. Grossman and James T. Comfort ABSTRACT A manufacturing line hasa plurality of work stations. The work stations are ordered intosequential flow points through which work in process flows. The workflow through the sequentially ordered flow points is balanced in anautomatic data processing machine by starting at the last flow point inthe ordered sequence. In a multiproduct path manufacturing line, theflow points on adjacent product paths are ordered into neighborhoodsprior to balancing the manufacturing line.

19 Claims, 6 Drawing Figures ivrrmror) FOR oP RArmc A MANUFACTURING isdirectedto a serial manufacturing operation, and more particularlydirected to a method of balancing-a serial production line.

Manufacturing operations are normally organized into what arecommonlyreferred to as manufacturing lines,assembly lines, or production lines.In this discussion, they will be referred to as manufacturing lines.

-.=Manufacturing lines produce at the end of the line a finishedproduct. To produce these products at the end of the manufacturing line,a start is made at the beginning of the manufacturing line. Thematerials and parts that go into the final product are taken and vari- 1ous manufacturing operations, inspections and/or hansilicon oxidized onits top layer. In a number of diffusion steps, selective oxide removalis carried out and an n-type epitaxial layer grown over the whilesurface of the layer, The surface is then reoxidized, windows etched inthe oxide, and the p-type isolation diffusion carried out to define theregions of the n-type layer for each element. Next, p-type regions arediffused for the transistor base, the diode-anode, the resistor, and thefirst electrode of the capacitor. Then, n regions are diffused for thetransistor emitter, the collector contact, the diode cathode contact,and the second capacitor electrode. Finally, to complete what is to betermed the slice, a metallization pattern is deposited and defined tomake contact to each of the elements and interconnect them on top of thesilicon oxide covering surface of the slice to form the completecircuit. What is termed the slice has now been completed.

The next operation is a testing operation where each individualintegrated circuit is probe tested. Any circuits on the slice failing tomeet the test standards are marked with an ink spot so they can beidentified and rejected.

The silicon slice is then separated into individual IC chips or wafers.The chips are sorted by individual in-' spection to pick out and rejectthose marked with the ink spot during the probe test.

The IC chips are then assembled into a package, sealed and tested. Toassemble the IC chips, they must first be mounted in position on apackage base.

With the chip firmly mounted on the package, the electrical connectionscan be made from the circuit terminal paths on the chip to the packageleads. This is commonly carried out by thermal compression bondmg.

The next operation consists of sealing the 1C circuit by either weldingin a metal case or molding a plastic body around it.

The next operation consists of a leak test to check for air tightness.

The last step or operation is a final test for a series of electricalmeasurements to determine if the circuit meets the required standard.

As in any manufacturing operation, there are many sequential steps inthe process of fabricating the integrated circuit and there will be someloss in these steps. These are called yield losses. These yield lossesmay occur at each operation.

In manufacturing lines, such as that described, it is inherent that thevarious operations or processes car- I ried out at each station requiredifi'erent lengths of time. There is a theoretical cycle time betweenthe time that the first operation in the manufacturing line begins andthe time that the finished product is finished at the final station inthe manufacturing line. However, for several reasons, the actual cycletime, which is the actual time that it takes between the time that anorder is given to the initial station and the time that the product isfinished at the final station, is normally many times the theoreticalcycle time. In some manufacturing lines, the actual cycle operation istwenty times the theoretical cycle time. This long actual cycle timemakes it very difi'rcult to respond to a specific request for anitemwhich is difierent from the standard. For instance, it may takeeight days or more to manufacture an item which theoretically could bedelivered 4 or 5 days after the order is placed at the initial station.This long cycle time also creates bulges in the inventory between thedifferent work stations resulting in the tying up 'of a significantamount of capital in the inventory and in process work. I

These bulges in actual long cycle time result from a significant numberof problems. For example, there are day to day variables, such as thenumber of personnel available to work at a particular station, the yieldfor a specific operation at a station for a specific day, the availablematerial at a particular station, and the current capacity of themachines. These variables also normally result in the over-staffing of amanufacturing operation on the order of 15 percent to be sure that therewill always be a sufficient number of personnel available to perform thework. These variables result in stocking of additional material at eachwork station to ensure that there will be a sufficient amount ofmaterial available at any time and in additional capital expendituresfor machines at any one station to ensure that there will always anadequate number of machines available. This may result in idle manpowerand idle machines at times. This additional capacity may also result inthe manufacture of more production from a work station than is needed.

There have been consistent attempts over the years to solve suchproblems, to reduce the actual cycle time of manufacturing lines closerto the theoretical cycle time. Most such efforts have resulted inensuring that there is sufiicient capacity in the manufacturing line tohandle any excess work loads which may result. This results, of course,in the inefficiency described. Other efforts have simply accepted thefact that there is a continuing large in-house inventory of work inprocess and have dealt with the problem by more efficiently storing thework in process to make it more accessible. Other efforts have resultedin models which take into account the theoretical capacity of certainwork stations and determine the average number of employees showing upon any certain day to handle these processes and tell each station whathe could theoretically produce to handle the total production. After themodel has been calculated it remains fixed.

None of these prior attempts to solve the problems of manufacturinglines have significantly reduced the inhouse inventory, the ratio of theactual cycle time to the theoretical cycle time, or the manufacturingmanpower.

It is therefore an object of this invention to provide a new andimproved method of efficiently balancing a manufacturing line.

Another object of this invention is to provide a new improved method ofline-balancing a serial manufacturing line.

Another object of this invention is to provide a new and improved methodof balancing a manufacturing line on a dynamic basis.

Another object of this invention is to provide an improved method ofbalancing a manufacturing line and reduce the actual cycle time of suchmanufacturing line.

Still another object of this invention is to provide a new improvedmethod of balancing a manufacturing line to enable the in-processinventory 'of such manufacturing line to be reduced.

In the drawings,

FIG. 1 illustrates a manufacturing line having a plurality of productlines.

FIG. 2 illustrates a manufacturing line having three product paths.

FIG. 3 illustrates a manufacturing line having product paths in whichmaterial for unfinished products move in more than one direction betweenwork stations.

FIG. 4 illustrates the manufacturing line shown in FIG. 3 with thematerial flow rearranged.

FIG. 5 illustrates a specific work station or flow point illustratingthe variables in material flowing into and through the flow point orwork station.

FIG. 6 illustrates an illustrative manufacturing line.

Before describing this method of balancing a manufacturing line, severaldefinitions of terms used in this description should be made. Themanufacturing line which is to be balanced is first divided into aseries of sequential flow points. A flow point is a step in themanufacturing line where a manufacturing process, a manufacturingoperation, or an inspection of a product in the process of beingmanufactured is carried out. It is any point in the manufacturingprocess at which an operator or a machine performs a test or processingfunction on the product being manufactured which is directly related tothe production of the finished product. In this specific method, ifduring the manufacturing line the in-process product undergoes aprocess, operation or inspection which may be identical to a previousprocess, operation or test, the subsequent operation, process or test isnevertheless assigned a different flow point number. The flow pointnumbering enables representation of the manufacturing 'line as a seriesof flow pointsnumbered in increasing order with the initial operationhaving the lower numbered flow point, increasing until the final flowpoint has the highest numbered flow point.

Every flow point in the manufacturing line has an associated workstation. A work station is a physical location at which a process,operation or test is performed or carried out on the in-process product.The work station may be the location of a specific machine, a group ofmachines, or an operator and a machine. A given process step, operationstep or test step may be assigned more than one flow point number butwill be assigned only one station number. This is because in themanufacturing line in the flow of work, the in-process productduring'its manufacturing line may flow through a specific work stationwhich is a specific flow point and proceed to a further manufacturingoperation and then flow back through the same work station to haveadditional work done on it. For instance, in the manufacture ofintegrated circuits, a specific test may be carried out on theintegrated circuit and then go to a work station upon which further workmay be carried out and then return to the same test station to performthe identical test or similar test thereon. For example, an electricaltest to determine the completeness of the circuit in the integratedcircuit may be carried out at a test station then the in-processintegrated circuit may proceed to another work station where theintegrated circuit may be packaged and sealed and then return to thesame test station to again electrically test the integrated circuit.This will determine if the packaging of the integrated circuit hasdamaged the electrical characteristics of the integrated circuit itself.

A product line Y path is the path that a single inprocess product takesin a manufacturing line. This product line path consists of a series offlow points. Many manufacturing lines build only one product; however,in many cases the manufacturing line builds several products requiringslightly different processing. Thus, there will be a plurality ofproduct line paths through a manufacturing line. There will be acombination of product line paths in the manufacturing process usingvarious process flow points so that different product lines in themanufacturing line will sometimes flow through common flow points andsometimes flow through flow points individual to that product line. Sucha combination of product lines in one manufacturing line is termed anetwork. This manufacturing line network includes all flow points usedby each of the product lines in the manufacturing line network.

Refer now to FIG. 1 for an illustration of a manufacturing line having aplurality of product paths and sharing some common flow points. Theproduct line paths A, B, C and D originate at a common flow point 10 andeach product path A, B, C, and D results in a finished product at flowpoint 32. Product path A flows through flow point 11, flow point 13,flow point 17, flow point 19, flow point 29, flow point 31, terminatingat flow point 32. Product path B flows through flow point 11, flow point13, flow point 21, flow point 25, flow point 29, flow point 31,terminating at flow point 32. Product path C originating at flow point10, flows through flow point 11, flow point 13, flow point 23, flowpoint 25, flow point 29, flow point 31, temii nating at flow point 32.Product path D originating at flow point 11 flows through flow point 11,flow point 15, flow point 23, flow point 27, flow point 31, terminatingat flow point 32.

The manufacturing line shown in FIG. 1 may also include path points. Apath point is defined as the flow point through which each product pathflows. Thus a flow point 11 is a flow point through which four paths A-Dflows. Thus the flow point 1 1 may also be referred to as path point 11Afor product path A, path point 11B for product path B, path point 11Cfor product path C, and path point 11D for product path D. The productline path thus is composed of a series of path points. The flow pointsin the product line path may not be independent for that particularproduct path and as shown in FIG. 1, one or more of the flow pointscomprising the product path may be also used by other product linepaths. Thus, flow point 11 is shared by all product paths A-D, flowpoint 17 is used only by product pathA and flow point is used only byproduct path D. This definition is used to enable the input of difierentyields, rework and labor standard for each product line or path in thenetwork to be calculated.

Referring now to FIG. 2, another manufacturing line is shown havingproduct paths E, F, and G originating at flow point 51. Product path E,originating at flow point 51, passes through flow point 55, how point61,

and terminates at flow point 65. Product path P, originating at flowpoint 51, passes through flow point 57, flow point 63, and alsoterminates at flow point 65. Product path G originating at flow point51, passes through flow point 53, flow point 59, flow point 63, and alsoterminates at flow point 65. Each flow point in the manufacturing lineis assigned to what is termed a neighborhood. Flow point 51 is assignedto neighborhood 79, flow point 53 to neighborhood 7'7, flow point 55,5'7 and 59 to neighborhood 75, flow points 61 and 63 are assigned toneighborhood 73, and flow point 65 is assigned to'neighborhood 71. Thisassignment of flow points to the neighborhood puts a partial ordering,Srfih sanitizers-figure network.

The neighborhood to which each flow point is assigned is determined inthe following manner.

Let N be a collection of flow points which defines the network. A flowpoint i, on path P, is said to have a predecessor in the network N ifand only if there exists a flow point j in N such that 1' immediatelyprecedes j on path P. This means that a flow points predecessor comesafter that flow point relative to product flow; in the definition above,j is the predecessor of i. A neighborhood, N in N, is the set of allflow points which have no predecessors in the set:

Thus neighborhood N would be the set of all flow points in the network Nwhich do not have a predecessor in N; therefore only the terminatingflow points would be in the set N,. The neighborhood N would be the setof all flow points which have no predecessors in set N with the elementsof N deleted. Similarly, neighborhood N would be the set of all flowpoints having no predecessors in set N with the elements of N and Ndeleted. It should be clear that the neighborhoods consist of theterminating flow points at successive deletions of the same.

This construction of neighborhoods will exhaust the entire network witheach flow point, and therefore each path point, being assigned to oneand only one neighborhood. This places a partial ordering, (s) on thenetwork.

For each path point i in the network, associate the positive integer nwith i if and only if i is in the nth neighborhood, that is, S(i) n ifand only if is (N,,).

Then if x and y are any two path points in the network,

x s yifandonlyifS(x) S S(y).

In some manufacturing lines, material or products in process in themanufacturing lines will flow in both directions between two workstations and between two flow points. Referring now to FIG. 3, there aretwo product paths H and I originating at flow point 91 with product pathI flowing through flow point 93, flow point 95, and terminating at flowpoint 97. Product path H originating at flow point 91, flows throughflow point 95, flow point 93, and terminates at flow point 97. In thiscase, product path I flows from flow point 93 to flow point 95 andproduct path H flows from flow point 95 to flow point 93. Thus, productpaths I and H flow in opposite directions between flow point 93 and flowpoint 95. Such a manufacturing line network makes it impossible toassign two flow points to the same neighborhood as flow point 93 is apredecessor to flow point 95 on product path H and that flow point 95 isalso a predecessor of flow point 93 on product path I. Thismanufacturing line network may be rearranged as shown in FIG. 4 so thatneighborhoods may be assigned to the flow points in the manufacturingline network. The manufacturing line network is rearranged as shown inFIG. 4 for the same manufacturing line network with product paths I andH in the same product paths as shown in FIG. 3. Flow points 91, 95 and97 are the same flow points, however flow point 93 shown in FIG. 3 hasbeen'divided into two flow points 94 and 96 in FIG. 4. Flow points 94and 96 are the same work stations as was the work station at flow point93. The two flow points 94 and 96 are therefore assigned to the samework station. With this rearrangement of the manufacturing line network,the neighborhoods may be assigned according to the definition set forthabove.

Referring now to FIG. 5, each flow point has a number of variables asany manufacturing station normally has. The first variable is the inprocess product applied to the flow point, termed the demand herein. Theoutput from the flow point is termed the delivery. There is a scrapfactor output from the flow point which is termed the scrap, and thereis a rework output. There is rework-in and excess work in processapplied to the flow point. In FIG. 5, flow point 101 (flow point I) hasa delivery output which is applied on input line 113 to flow point I-las the demand. The reworkin is applied on input line 111 and the excesswork in process applied on line 115. The rework-out from the flow point103 is delivered on output line 117, the delivery is supplied on line119 and the scrap is supplied on line 121. Thus, the variables takeninto account at each flow point are as follows: 1 11 reworkin, 113demand, 115 excess work in process, 117 re-work out, 119 delivery and121 scrap. All of these variables are in units per hour.

Thus the flow of a flow point is defined as follows:

Volume rework-in demand excess rework-out delivery scrap All of thesevariables are specified in units per hour. Yield at a former flow pointis described as:

Yield Volume Thus yield is a fraction of the total volume.

A manufacturing line such as an integrated circuit manufacturing line aspreviously described may be established in a network in the followingmanner. The work stations in the manufacturing line are first dividedinto the series of sequential flow points as previously described. Theproduct line paths consisting of the series of flow points for eachproduct line is also determined. When there is two-way product flowbetween two flow points as shown in FIG. 3, flow points must beredefined as shown in FIG. 4 before the program can balance the line.The variables for each flow point such as the rework-in rate, the excesswork in process rate, the rework-out rate, and the scrap rates aredetermined for each flow point.

Then, taking these demands at'the last flow points, the last flow point,the rework-out rates, the scrap rates, the rework-in rates and excesswork in process rates, the manpower available, etc. are taken intoconsideration in determining the input demand required from the previousflow point to satisfy the desired delivery output from that flow point.This demand input to the last flow point, such as the demand input 113to flow point 103 in HG. 5, is the delivery required from the previousflow point 101. The delivery from the last flow point 103 takes intoaccount the man power needed at that flow point, machine capacityrequired, the rework-out rate, excess work in process, rework-in, andscrap variables. There may be a plurality of demand requirements 113applied to flow point 103. These demand rates may be various portions ofthe unfinished product, raw materials and other required inputs.

After the required demand inputs, material, manpower and so forth havebeen calculated for flow point 103, requiring a set delivery from theprevious flow points, then the process is repeated for the previous flowpoints such as flow point 101 in FIG. 5, supplying delivery for thedemand for flow point 103, to calculate the required demand for thoseprevious flow points.

In a multi-product path manufacturing line, this calculation of thedemands for the previous flow points 101 to satisfy the deliveryrequirements, will be processed by neighborhood sequence.

Referring now to FIG. 2, flow point 65 is the only flow point inneighborhood 71 so that the delivered output from flow point 65 is therequired output for that manufacturing line. The required demand onproduct paths E, F, and G is determined by taking the rework-out,rework-in, excess work in process, scrap out and other variables tosatisfy the required delivery inputs to flow point 65 from theflowpoints in neighborhood 73. Then, taking the required demand toflowpoint 65, these inputs are the delivery outputs in neighborhood 73for flow points 61 and 63 on product paths E, F, and G. To reach thisrequired demand input for flow points 61 and 63 in neighborhood 73, therequired delivery outputs from these flow points are calculated takinginto account the variables for the rework-in and -out, the scrap out,the excess work in process and other required variables. The requireddemand inputs to flow points 61 and 63 will be the required deliveryoutputs from flow points 55, 57 and 59 in neighborhood 75. The requireddelivery outputs from these flow points 55, 57 and 59 in neighborhood 75are taken to calculate the required demand inputs to flow points 55, 57and 59 along product paths E, F, and

G in neighborhood 75. The demand input to flow point 59 in neighborhood75 is the delivery from flowpoint 53 in neighborhood 77. Thus therequired input demand to flowpoint 53 is not calculated. The calculationin neighborhood 77 for flow point 53 is before the calculation is madein neighborhood 79 for flow point 51. The calculation of the demandinput to flow point 51 in neighborhood 79 is then made to provide thedelivery from neighborhood 79 to neighborhoods 77 and 75. Thus therequired calculations have been made to provide a balanced manufacturingline having multiple product paths. The starting volume of themanufacturing line has also been calculated starting at flow point 51.

It has thus been described how a manufacturing line having multipleproduct paths may be balanced.

The method of this invention may be carried out on a general-purposecomputer programmed to carry out the method described herein. Thefollowing computer program may be used to carry out the method of thisinvention. Various subroutines of this method are shown in the followingtables. These subroutines are assigned names for the purpose ofreference. The printout of each subroutine is in the FORTRAN language.These programs are welldocumented by comment statements.

This method of balancing a manufacturing line can be carried out in twoembodiments with the first embodiment being termed Capacity Simulationand the second embodiment being termed Dynamic Line Balancing. TheCapacity Simulation embodiment balances a manufacturing line networktaking into account existing installed equipment and generates reportsspecifying additional equipment, manpower, floor space, and otherrelated needs required to meet specified manufacturing line outputs. TheCapacity Simulation embodiment is extremely useful for planningpurposes.

The Dynamic Line Balancing embodiment is useful on a periodic schedulingbasis to balance the work in process inventory in an existingmanufacturing line with respect to the current demand mix, existingequipment, personnel, and actual work in process inventory.

The method is carried out according to the following subroutines:

TOP FLAG (TOPFG) (TABLE I) This subroutine partially.orders themanufacturing line network by assigning the flow points toneighborhoods. The partial ordering provides for dynamic line balancingin a multipath manufacturing line.

The arrays used in the program are as follows:

a. The JSEQ array is a two dimensional work array,

b. The JV and IV arrays contain the previous and actual path pointnumbers,

0. The NSEQ array is the array of neighborhoods,

d. The NPNTR and NPNTL arrays in which the right and left path pointersare stored,

e. The NPATl-I array is the array of path points.

The variable NUMI is the total number of path points in the network. Thearrays JV and IV are set up by the subroutine which reads the inputdata. For the manufacturing line network of FIG. 6, the tlowpoints inthese arrays may be organized as follows:

JV IV For any given flow point in' the JV array, the corresponding flowpoint of the IV array is a predecessor flow point. This means that the'flow points of the neighborhood at the end of the line, in this caseflow point 143, will not be found in the JV arrayand the flow points ofthe neighborhood at the beginning of the line will not appear in the IVarray. The elements of the JV and IV arrays are actually successive pathpoints, as identified by flow point'number. Theelements of the IV arrayare stored in random order. An element in the IV array is selected andcompared with each element in the J V array until a match is found. If amatch is found then. another element of the IV array is selected andcompared, since this would imply that this path point still has apredecessor. When the first iteration has been completed, i.e., eachelement of the IV array has been compared with each element in the JVarray, those elements of the IV array which were found not to have amatch in the JV array are assigned to the first neighborhood. Then thecorresponding elements of the IV and JV array are deleted and a newelement of the IV array is selected. The process'is repeated until allpath points have been assigned toga neighborhood.

After the assignment of neighborhoods is complete, the TOPFG subroutinedetermines path pointers. The right path point for a path point X wouldbe path point X 1 i.e., the succeeding path point. Similarly, the leftpath point wouldbe X l, or the preceding path point, relative to productflow. For the manufacturing line network of FIG. 6, consider the arraybelow.

X I X l X i X l X l 131 133 3 I31 135 4 1 I31 I33 137 5 2 I31 135 I37 -63 I33 I37 I39 7 4 135 137 I41 8 5 I37 I39 143 9 6 I37 I41 143 10 7 I39I43 8 I41 143 The path points are identified only by flow point number,but each flow point number appears in colurrm X as many times as theflow point is used by a different path; thus the elements of column Xrepresent path points. It can be seen from the above array that for anypath point in column X, the right path pointer for X is contained incolumn X 1 and the left path pointer (or the relative position of theright path point of X in column X) (or the relative position of the leftpath point of X in column X) is contained in column'X' 1. The pathpointers are referred to subsequently by other subroutines, and enablerapid balancing of a line in either direction, starting from anyselected flow point.

The step by step operation of the TOPFG subroutine is shown in TABLE 1.In the following discussion of the subroutine, each statement isidentified byline number as appears on the print-out.

Line I. The subroutine is identified as TOPFG and the input and outputvariables identified.

Line 2. Arrays NPATH, NPNTR and NPNTL are dimensioned as one dimensionalarrays.

Line 3. Arrays JV, IV and NSEQ are dimensioned as one dimensionalarrays. Array JSEQ is dimensioned as a two dimensional array with amaximum of 1,000 rows and 2 columns. Thus the program is designed tohandle a maximum of 1,000 path points.

Lines 4 and.5..The variables L and ISTRT are initialized to zero.

Line 6. This statement directs that all statements down through thestatement numbered 10 be performed a total of NUMT times, once for eachvalue of I from I to NUMT. The variable NUMT has previously been definedas the number of path points in the network.

Lines 7 and 8. These statements taken together 7 establish a two columnmatrix array, the left column containing all zeroes and the right columncontaining the numbers 1 through NUMT. I

Line 9. This statement directs that the following statements downthrough the statement numbered 210 be performed successively for valuesof N from I 1 through NUMT, i.e., once for each path point.

Line 10. Perform statements down through state ment number 200 for eachpath point, by incrementing variable N1.

Line 1 1. This is an arithmetic if statement. Control is directed to thestatement numbered 150 if element (N1, 1) of the JSEQ array is zero. Ifthe element is negative or positive control is directed to the statementnumbered 200.

Line 12. Statement number 150. Perform statements down through 180 oncefor each path point, by incrementing variable N2. a

Line 13. If element (N2) of the NSEQ array is zero, control is directedto statement 160; if negative or positive, to statement 180.

Line 14. Statement 160. If element N2 of the JV array is equal toelement N1 of the IV array, control is directed-to statement 200', ifnot equal, then to statement 180.

Line 15; Statement 180. This is a continue statement, and meansliterally to continue to the next statement. But if indexed by a dostatement, control is returned to that statement until all specifiediterations have been performed.

Line 16. The value of the variable L is increased by 1.

Lines 17 19. These are merely comment statements, or spaces reserved forcomment statements, and do not enter into the operation of the program.

Line 20. An element in the first column of the J SEQ array is set equalto the variable L.

Line 21. Statement 200. This is a continue statement.

Lines 22 24. Comment statements.

Line 25. Perform statements down through statement 205 once for eachpath point, by successively incrementing variable I.

Line 26. If the specified element in column I of the J SEQ array isgreater than the variable ISTRT, controlis directed to statement 204. Ifless than or equal to, control is directed to statement 205.

Line 27. Statement 204. A specified element of the NSEQ array is setequal to the variable N.

Line 28. Statement 205. A continue statement.

Line 29. The variable ISTRT is set equal to the variable L.

Line 30. If variable NUMT is equal to variable L, control is directed tostatement 230; if not equal, then to statement 210.

Line 3 1. Statement 210. This is a continue statement.

Lines 32 34. These are comment statements.

Line 35. Statement 230. Perform the following statements down throughstatement 100 once for each path point, by successively incrementingvariable N.

Line 36. Perform following statements down through 300 once for eachpath point, by successively incrementing variable N1.

Line 37. An element of the JV array is compared to an element of the IVarray. If they are equal, control is directed to statement 240; if not,to statement 300.

Line 38. Statement 240. Element N of the NPATH array is compared toelement N1 of the same array. If the two elements are equal, control isdirected to statement 250; if not, to statement 300.

Line 39. Statement 250. Element N of the NPNTL array is set equal to aspecified element in column 1 of the JSEQ array.

Line 40. This statement directs control to statement 100.

Line 41. Statement 300. This is a continue statement.

Line 42. Statement 100. This is a continue statement.

Lines 43 45. Comment statements.

Line 46. Perform the following statements down through 500 once for eachpath point, by successively incrementing variable N.

Line 47. Perform the following statements down through 400 once for eachpath point, by successively incrementing variable N1.

Line 48. Element N1 of the JV array is compared to element N of the IVarray. If they are equal, control is directed to statement 350; if not,to statement 400.

Line 49. Statement 350. Element N of the NPATH array is compared toelement N1. If they are equal, control is directed to statement 375; ifnot, to statement 400.

Line 50. Statement 375. Element N of the NPNTR array is set equal to theelement in row N1, column 1 of the JSEQ array.

Line 5 1. Control is directed to statement 500.

Line 52. Statement 400. A continue statement.

' Line 53. Statement 500. A continue statement.

Line 54. This statement directs that control return to the callingprogram.

Line 55. This is an end statement, and it is used to inform the Fortrancompiler that this is the physical end of the source program. It has noeffect on the execution of the object program.

The individual statements combine to perform the necessary operations inthe following manner. The instructions in lines 6 8 establish atwo-dimensional work array JSEQ. When completely established, the arrayconsists of two columns and NUMT rows. The left column consists of allzeroes and the right column contains the numbers one through NUMT. Thisarray will be completely established before program control goes to thestatement in line 79.

The instructions in lines 9 31 assign the path points to neighborhoods.At the beginning N will be set equal to 1 and N1 equal to 1. Element(1, 1) of JSEQ is checked and found to be zero, so statement isperformed. Variable N2 is set equal to 1 and the first element ofone-dimensional array NSEQ is checked, i.e., check is made to seewhether this path point has been assigned to a neighborhood. It will nothave been, so then element (1) of array IV is compared to element (1)ofJV. They will notbe equalso N2 is set equal to 2 and the second pathpoint is examined for neighborhood assignment. It will not yet beassigned so element (1) of IV is compared to element (2) of JV. Now itis possible that a match may be found. If so, variable N 1 is increasedto 2; JSEQ (2, l) is examined and found to be zero and control againreaches statement 150. If no match is found, variable L is set equal tol and element l, 1) of J SEQ is set equal to L. Then N1 is increased to2, and the procedure repeated. During the first iteration of lines 10through 21 all those path points belonging to the first neighborhoodwill be detected, and identified by placement of a sequence number L inthe appropriate row in column 1 of J SEQ. Control is now at line 25.Variable I is set equal to 1. Variable ISTRT, initially set to zero, issubtracted from element JSEQ (1, l). The result will be positive only ifelement l, 1) was assigned a sequence number L. If the result is notpositive, element (2, l) of JSEQ is compared. As each successive elementin column 1 of JSEQ is examined, those which yield a positive result inline 26 are assigned to neighborhood 1 at line 27. When assignment tothe first neighborhood is complete, variable ISTRT is set equal to L,for use in successive iterations. It should be apparent that the valueof L at this time corresponds to the number of path points that havealready been assigned to a neighborhood. In line 30, NUMT is compared toL, thus checking to see if all path points have been assigned to aneighborhood. If not, control is returned to line 9 and N is increasedto 2.

The above procedure is repeated until all path points have been assignedto a neighborhood. When they have, program control will be at line 35.Lines 35 42 determine the left path pointers. At the beginning, N is setequal to l and N1 equal to 1. Element 1 of JV is compared to element 1of IV, found not to be equal, and N1 is increased to 2; thus element 2of IV is compared to element 1 of JV. In like manner each element of IVis compared to the first element of JV. When a match is found, statement240 checks to see if these elements are the same path point. If so, theleft path pointer is set equal to the appropriate element in column 1 ofJSEQ, and N is increased by l and the cycle repeated. If the elementswere not the same path point, N1 would be increased. During this processa left path pointer will be assigned for all path points except those atthe beginning of the lines.

Similarly, the right path pointers are assigned by lines 46 through 53.The only difference in principle is that now each element of JV iscompared to each element of IV, for reasons that should now be obvious.

The manufacturing line network has been partially ordered with the flowpoints in a multi-product path and assigned to a neighborhood.

d roared. 123396. 35454 1 TABLE 1 TOP FLAG (TOPFG) IFHISEENNZ? l180|160|180 ADIOTOPF 160 lFtJvmzi I V(N1;1) tan-200.1 0 180 CONTINUE L L1 c t; 551 TGPOL-SGXCAL SEQUENCE NU BER astound) L 203 CONTINUE \v c OEEQHNE T E NEIGHBORHOOD c as 2:5 I 1-'-:UT lFtJsEm Mil-ism?) ans-205.2 4204 usgm l a N 205 CONTXNUE m? L lrwutt L 21 130.210 21: comn-uE c gOETERHINE Paw POXNTERS (LEFT) 23a 0'.- ms N ir u 00 3:13 s1 i-NU" l-tJvtNi-lvtm. 1 302-240-335 4:; lF(NPATH(N)-NPATH(N1H 300-255-300 250NPNHJN) JSEMNLI.)

so TO 100 3r: commas to: court-WE c g DEIERHINE PATH PomreRs uusun 00565 N 1.5mm DO 435 -1=1-NUHT I1JV N1 z-zvumi mtdsc-ma S i iN Y tu'thfilTritfll) 450- 375.45 37: NPNYRUN) JSEGUflIl) GO T0 500 42c CONTINUEs: comm-us 25mm aw RANDOM DM') (TKBLE'Q) This subroutine calculatesrework-in and then recalculates yields and rework-out. It alsocalculates unit material and labor costs, cumulative path yields andtrue overhead ratg H I H is; ahbath within the network the programsimulates the flow of 10,000 devices. As each device enters the firstflow point of the path, a number between 0.0 and 0.999 is retrieved froma random number generator. Based on a comparison of this number to theinput values of yield and rework-out percentage, the device will proceedto the next flow point, proceed to a rework flow point, or be scrapped.Each device proceeds down the path until it is scrapped or reaches theend of the path, then the next device enters the path. After all 10,000devices have been simulated the total units of rework-in at each flowpoint is known. The subroutine then calculates a very accurate rework-inpercentage for each flow point. Accurate rework-in percentages arecritical; errors would have a cumulative effect as the line was beingbalanced. After rework-in percentages have been calculated, the programcalculates new values of yield and rework-out percentage for each flowpoint. The cumulative path yield is the ratio of output units to inputunits for the path.

The input data includes incremental material costs at each flow point.This cost is the value of material added to the product at the flowpoint. The material cost at each flow point is then calculated as thecost of entered material divided by the number of good units that TABLE2 (CONT'D) C a- C n GENERATE RANDOM NUMBER C 1- 110 RX RANDOM ISEED) C a(J o RX G YLD ES (SCRAP R REHORK) Q0 TO 16H o .130 IF(RX-YLD( I 250' 160C a Q 0 RX G YLD PRHKO YES SCRAP GO TO 230 C n 160 IF(RX-PRNKO( I17D,230|23D C o C i REHORK ADD +1 T ARRAW 2, I C a ARRAHZI I ARRAYKZ' I1 [SW1 1 176 lNBHD NBHD( I C a C & PIQK UP INDEX OF FP RENDRK POINTERFROM TEI'IP ARRAY C a IlDUM2 1,2 1 so T0 100 Q a C SCRAP ADD +1 T0ARRAWS: I C e 230 ARRAN 3, I HUN" 3' X 1 GO T0 280 C o C Q YIELD THIS FIS 100 PERCENT ADD 1 T0 ARRAH 1. l J C a 25D ARRAY(1II) AR AY(1|I) l L.)N'PNTR(I) IF Id) 260.280-260 260 I. JSEGH U 2) GO TO 100 C a C IF 0 THENRIG T ATH PO NTER OINU D TO END OF LINE G0 T 26!] C Q IF NOT THEN STILLf- OLLOWING THIS RANDOM NO- C 0 280 I K N=N+1 [SW1 U lF-(N-KK)295,295,793 C a L 6 ROUTINE TO LIST ARRAH 1'2|3 AT N=1000U IF ICCZ3=1 Co 290 CALL KLOCK( TIM) TH'IE TI E Tlf'l WRITH IWTRI 281 TIM. TIME 281FORMAH lX'Z 'hZ [F( ICC23-1) 500:292u500 292 JK K non (ACE 29.1 m K4 1AC( ;ULUMA TE PCYLDS tACH M/w minnows FOP PRINTING TENPJ, ARRAH 1- m)rsn z N ARMKJ) [5mm TEMPZ KK KK M/lC a DOhS N '4 TIMES 295 IF( NM)100.290- 290 Q Q PATH FOLLOWED m rIMEs CALCULATE AL-IL VARlAdLES Fo nusPATH Q 300 1EMP1 mun 1- 1m TEMPZ M PCYLLHLL) TEMPI TEHPZ O Q TAKE EACHFP THIS PATH SCAN ALL F runs PATH LOOKING FOR TABLE 2 (CONT'D) C aCALCULATIONS COMPLETED 2165CALS C 218OCALS 4 u p wmrg wtamqn ISZIISLTIME401 FOKMAH 1H nZUX- 'PflT-IS= I2 PP: I4- SIM TI E= $6.23 930 D0 980 i=1,I53

IF(NPNTR( I 980,950,980 950 J=PPATHl I MFQOSHJ) LCOSHJ) I "F "'-2ecgostua LcdsnJ) QC RMCOSHJ) LCOSHJ) 9 M 980 CONTINUE l l 1C8) 931!935,931 935 1C8 1 931 HRI TE( lHTRr932) 1C8 32 FOSMAT 1H1I5XI END RAND"COMP-COD 11) 0 L on 1400 I='1.rs3 1400 FPID( l )=lDU 2( l '1) RETURN41455ALS hNU MAIN (TABLE 3) hour that can be processed at the flowpoint.

' The MAIN subroutine is the controlling program. It makes use of thepartial ordering placed on the manufacturing line network by subroutineTOPFG to balance the entire network. First the control cards are read inand the input data is retrieved. One of the control cards will identifythe run to be made as either a Dynamic Line Balancing run or a CapacitySimulation run. The steps performed for each type run are listed below,with the program performing each step in parenthesis. Other subroutinescalled in by the MAIN subroutine are shown with the corresponding tablenumber. These subroutines are discussed later in this description.

CAPACITY SIMULATION a. Calculate the output required from each pathpoint on each product path line in order to meet the specified linedemands. (MAIN) b. Calculate the volume required for each path point.

- 'fciafiaie and sum path point utilization for each flow point. (MAIN)d. Reduce the input of the bottleneck flow points so that utilizationwill be less than 100 percent; (RESTA TABLE 6 or MUS TABLE 7) e.successively add equipment required to meet specified demands and printreports. (ADMCH TABLE 8) Capacity Simulation Step at. Beginning with thedesired output from each product path line, the output required fromeach path point on each line is calculated, taking into considerationthe rework-out and scrap percentages at each path point. Thus eachproduct path line is balanced irrespective of all constraints. This stepis performed for each path point in the network before the next step isperformed.

Step b. From the information obtained in step a the desired volume ofeach path point within a flow point is calculated. This calculationconsists of summing the number of unitsof useful output, rework-out andscrap. Volume is specified in units per hour.

Step c. The utilization of each path point within a flow point iscalculated and the sum is taken as flow point utilization. Path pointutilization is the ratio of path point volume to flow point capacity,where flow point capacity is the input value of maximum units per Stepd. The equipment capacity constraint is now taken into account. If flowpoint utilization in step c was greater than percent, the input to eachpath point within the flow point will be reduced accordingly. When abottleneck flow point is detected it is first examined to see if itbelongs to a multi-use station, i.e., a station used by more than oneflow point. If not, then subroutine RESTA (TABLE 6) is called, whichratios down path point inputs and drives this achievable output to theend of the line. If it was a multi-use station, then subroutine MUS(TABLE 7) is called. This subroutine will locate the first flow pointusing this multi-use station before ratioing down path point inputs anddriving the achievable output to the end of the line.

Step e. For each combination of line demands specified by the controlcards, the equipment required to rebalance the line is added and outputreports are printed. The output reports include information as to addedequipment and required additional people and floor space, and the costsassociated with each of these factors.

The routine in TABLE 3 is a specific embodiment of the capacitysimulation.

The Dynamic Line Balancing is carried out in the following manner:

DYNAMIC LINE BALANCING a. Calculate the output required from each pathpoint on each line in order to meet the specified line demands. (MAIN)b. Read in actual work in process (WIPIN TABLE c. Allocate the actualwork in process at each flow point to the respective path points. (ALLOCTABLE 5) d. Repeat step a. (MAIN) e. Calculate the volume required foreach path point.

f. Calculate and sum path point utilization at each flow point. (MAIN)g. If flow point utilization is greater than 100 percent, ratio downpath point inputs and rebalance line (RESTA TABLE 6 or MUS TABLE 7) h.Check for labor constraints and rebalance line if required. (ASSGN TABLE9) 1'. Calculate cycle times. (CTIME TABLE 10) j. Print output reports.(OUTPT) TABLE I l) 31 Line Balancing Step a. Identical to step a forCapacity Simulation.

Step b. The actual work in process at each flow point, as specified inthe control cards, is read in. The desired level of inventories at thepath point level is also read Step 0. The actual work in process at eachflow point is allocated to the path points within the flow point in thesame ratio as the desired work in process levels.

Step d. The output from each path point in the network must now berecalculated. At those path points at which actual work in process isless than desired, the work in process will be built up to the desiredlevel in the length of time specified in the control cards, thusincreasing the demand on the previous flow point. At these path pointsat which actual work in process exceedsdesired, the excess work inprocess will be used up in the time specified.

The steps a-d are performed for the entire network ELT MAIN 1, 70040358730 i I S'IBROUT INF. AIN

at each step. Steps e-g are performed cyclically in neighborhoodsequence.

Step e. Identical to step b for Capacity Simulation.

Step f. Identical to step c for Capacity Simulation.

Step g. Identical to step d for Capacity Simulation.

Step h. The network will now be balanced with respect to laborconstraints. If the number of people assigned to man the lines isinadequate to produce the number of units achievable as of step g, theinput to the path points within bottleneck stations are reducedaccordingly, and the new achievable outputs are driven to the end of theline. The result is a network balanced with respect to equipment andlabor constraints.

Step i. The cycle time for each product line is calculated. Cycle timeis that time required from the initial process step to the emergence ofa finished product. It should be apparent that cycle time can be reducedby reducing excess work in process.

Step j. Output reports are printed to reveal the information generated.

TABLE 3 MAIN 5 MA I"; QQQD-ioupl#Gobbaldflfifiqbqgflfi'poaboooougapgofie QQbQQOQ-Qbfifineatleuzqnbab C40Q96Gfi90946695GGGJQQQQQQQ DGQDQQf#QQQGQQ QQQI caioazi-ab ubaan-safleeabeai'i-bd-aiieaaabaqona tQQ-zflauvii:r ceaeizeauaoaafi 1".Aikl (2*MAIN IS T t CONTNOLLl G P' OGRAN. ITS PURFOSES ARC: l' Cd CALL SI -IN TOREA) A SET Cl- CAP Sll CONTROL: CARDS I? C LL DSKIN T0 RETRIEVE ETWORKINPUT "1A IN C C LCULATE PLA NER'S RAT PLFLO) FOR EACH l- ATH OINT 4 MAIc IF A OLB RU CALL HPIN AND ALLOC TQ CALCULATE AND ALLOLATE a C ACTUALWO K IN PROCESS THEN RECALCQLATE PLANNER RATEc. C CALCULA E V LUME REO'DF EAC PATr i POI T PFL) I (A CALCULATE A D SU-"i P. P.UTlLlZATlO'\lPPUlL) [OH IHIS F'.P. l C IF F.P UTILIZAT ION(UTL) CALLRESTA MA 1 N C IF THIS IS A MUL IUSE STAT ION CALL "US AI C I CAPACITYSINULAT ION UN CALL AD CH I'D FKINT A PE UR l C IF DUI RUIJ CALL ASSGN,CTIME. T EI. OUTPT a C Co a C" DE I AIL AS I HOW THE CO CE OF-NEIGHBORHOUDS l3 DERIVED Ca AND USED TO BAL NCE T E NE TWORK IS FOUND lAUUl l PROGRAM C NAMED TOPFLG Q Ca e C c U a C 166D5GO GQGQGQCQQQDQQQQDQQQQIQQOI'QQQOQQDOQC509561 bqtrfiauflbuiebo nubcaaoaeu-u-aoaeaaauao:euaqeaoaeaoeoraoealeoMuir:uaoauoaanaouaeeoaaoCaeec-aoenoaeucae2-4:mienwonuunouaenuneou auovnoao0nasoaeoaan= ounubMAIN C m Iv: C UIOSP'IA l (,Aaaeminassocaanaaava naaoai euap aeu nouqamzuaaga :sui-aauaauoeat 0] MA II caeaaaaaumican:ecumuaecaeaoaoonaoaeu'eaaconunnauuaiMmtwoanoao [J1 MAINcceauqaoaoeeauaacQ9041:eeoeonaiuaeengouaevvceain:eaugqeoeaaoggeonoeoD11UP1AIN C IN 'HA IN' A D MOST OF SIMUL TIO SUBROUTI tS THE FOLLOWINGUIISMAIN C SUBSCRIPTS AVE A SPECIAL MEANING, ALL OT ER AVE \10 UlZflMAIMC ERMANENT MEANING UNLESS OTHERWISE STA IE D 012W: l Co a Q13OI'IA1 C JPOSITION WITHIN THE NETWORK (JSEO) Q UMAIN C 9 O14OMA IN K ALUE OF (J-lIT IS USED TO DETERMINE 'L' UMA I C DIST- I C L RELATIVE POSITIO 0*WHERE OU ARI: I' O START 0F UI J'B- I- c: NBRHD uimzi lbi en ti 0165M INC JJ OSI ION IN NEThORK TO OBT IN NU BER OF THE F.P. OI4 IN C BEINGPROCESSED 0175MAIN C UlUOi AI U JJJ PUSI TION 1N NETWORK TO OBTAINlLIFIiF-H OF THE F .P 6 U] IIBI' A l C GOING THRu UTILIZATION SUPNARYROUTI E; UifilH/II 0195 I C NFLAGIL) UZOSI'IAIN WHEN:

TABLE 3 (com-o) =1 F-P. DON'T MATC S0 ASS QALCULATE. VOL

REG'D LATER =2 V L- REQD HAS BEEN QALCULATLD voI REG'D HAS BEENQALCULATED NOW. READY TO so To UTILIZATION suMm gyj' ROUTINE 4 ALLPROCESSING DO E:

IE. VOL REQU H'KSQTEN I CALCULATED HAS 60:1: THRU I I ILILATIUI SUMMARYROU INE =5 PATH HAS BEEN RATIOEQ DOWN BY RESTA AND C CKWCUQO'F CCICConnran-Oranonon-n-nr-rrnn nocnnnnncnnnnnrnnnn-Gcc THE FOLLOWI G I ALIST 0 A I BLES USED I CAPACI Y aI UL TION AND 7L8 THE FOLL WING IS ALIS 0F VARIABLE USED IN CAI-ACT TY SIMULATION IWU LIL-o NAME DATE PLANTLCUE FCC FCDE DEPT DCDt "INDLM INDIhM SI IX MUL I X "UL ID OHFAC HRS OPTIRDR IPCr-I IwTn IUTL.

FCAPU FPIU Pr Iu FWIP FUwIP FUESC FPEPL FSTA MAX 8 [DH SIDL SDESC'SUSILD SGF IA SGF I'I CMCHA CMCHI SCAPP SCAPA S E L SUTL SI'IAX SHRSSUTIL SPEHF HMALH PPNIL F'PNIR PATH VARIABLE DESCRIPTION UTE PLANT NA EPLANT CODE CC/ CC NA I; FCC CODE DEPARTMENT NAME DEPT CODE MI IAIUTIh-"-ANU-THIS SIM. MAXIMUM DhMAND TH S SIM. INCREI'IENTAL DEMANDSIMULATION i-IIX BY PATH HOURS To IIORK OUT EXCESS n'IP HOURS To WORK UPUEFC- NIP OVER E D I- ACTOR SHIWKIHRS/SHIHOSTI IN ATTEND OPTIONS UNITUNIT UNIT UNIT NUMEER CA S NLIMPILR P NC NUM-IER PRINTER NUMBER-NETWORKUI ILI TY READE" F.P. CAPACITY UTIL.

F.P. ACII'AL NIP F.P.DESIRED WORK IN PROCESS F.P. DESCRIPTION F.P.PEOPLE QEGUIRE F.P. STATION NUMBER MAXIMU 0. or FLOW POINTS STANDARD M T'L STANDARD LAu'OR P T POINTER LEFT PATH POINTER RIGHT PATH USE-.0 BYTHIS ATH POINT TYPE INT INT INT INT INT INT INT REAL REAL REAL EAL INTINT QEAL REAL INT INT INT INT INT REAL INT INT REAL REAL INT REAL INTINT EAL REAL.

INT INT INT INT REAL REAL 55k REAL REAL REAL INT RE L INT INT INT INTINT INT DIMLNSION H I- H H 200 0TI 200 2U! PUCI (ZOLJYJ) 200 200 1 20022000 PROGRAM COMMON COMMON COM TON COMMON CO MON COMMON CO MON CO MON COMON COMMON CO MON CC 'I'ION CCTT'CW COP-'9 UN CO MON COMMON COW-10M CU'I N CU'AI-ON COMIVGN COMI'ION CO MON COMMON CO -HON (LU-MUN CU'"I"-ONCOMMON (.O CL 'I'IIH C -HON CONT-ION COMMON COM'IOII QHHOI CC I().\(IO-"M N CO PTON C 'MJN COIJIOI- COMMON (,U' MON CO MON COMMON C(MITON(154140. coMO I COMMON COMMON CO I'ION

1. The method of balancing a manufacturing line having a plurality ofproduct paths through said manufacturing line comprising the steps ofestablishing the work stations through which the work flows in eachproduct path, ordering said work stations into sequential path points ineach product path, ordering the path points in said product paths into asequence of neighborhoods in said manufacturing line, and balancing inan automatic data processing machine the flow of work in said pluralityof product paths in said manufacturing line starting with the lastneighborhood in said sequence of neighborhoods.
 1. The method ofbalancing a manufacturing line having a plurality of product pathsthrough said manufacturing line comprising the steps of establishing thework stations through which the work flows in each product path,ordering said work stations into sequential path points in each productpath, ordering the path points in said product paths into a sequence ofneighborhoods in said manufacturing line, and balancing in an automaticdata processing machine the flow of work in said plurality of productpaths in said manufacturing line starting with the last neighborhood insaid sequence of neighborhoods.
 2. The method of claim 1 of balancing amanufacturing line wherein said neighborhoods are established in thefollowing manner in an automatic data processing machine wherein N is acollection of flow points defining the manufacturing line, P is aproduct path in said manufacturing line, a flow point i, on product pathP is said to have a predecessor in the manufacturing line N if and onlyif there exists a flow point j in N such that i immediately precedes jon product path P, a neighborhood Ni, in the manufacturing line N is theset of all path points i which have no predecessors in the set; N ; i 1j i- 1 N - Nj ; i > 1 j 1
 3. The method of claim 1 of balancing amanufacturing line wherein said neighborhoods ordered by path pointers.4. The method of balancing a manufacturing line claimed in claim 3wherein variables are taken into account in the calculation of thenecessary input to each path point to deliver the desired input to thesucceeding flow point.
 5. The method of balancing a manufacturing lineclaimed in claim 4 wherein said variables include a scrap factor, arework factor, and an excess work in process factor.
 6. The method ofclaim 1 wherein the desired output from said manufacturing line isestablished and the inputs to the path points in said neighborhoods arecalculated by neighborhood starting with the last neighborhood in saidsequence to provide the necessary input and continuing this calculationto each preceding neighborhood in succession.
 7. The method claimed inclaim 6 wherein said path points in said product paths are grouped intoflow points for adjacent product paths.
 8. The method claimed in claim 7wherein the unit labor cost is calculated at each flow point accordingto the following manner: where: ULC is unit labor cost, VOL is flowpoint volume, ALR is average labor rate, LS is labor standard, and LP islabor performance.
 9. The method of balancing a manufacturing line asclaimed in claim 7 wherein a rework-in variable is taken into thecalculation for determining the required input to each flow point. 10.The method claimed in claim 9 wherein equipment capacity constraint istaken into account as a variable.
 11. The method claimed in claim 10wherein a capacity simulation is carried out adding equipment requiredto rebalance a line.
 12. The method claimed in claim 9 wherEin abottleneck flow point is identified and the input of each path point inthe bottleneck flow point is ratioed down to drive the achievable outputto the end of the manufacturing line.
 13. The method claimed in claim 12wherein a bottleneck is identified at a multi-use flow point and pathpoint inputs are ratioed down.
 14. The method claimed in claim 9 whereinwork in process is allocated to the particular path points in the sameratio as the input desired work in process is calculated.
 15. The methodof claim 9 wherein the material cost at each flow point is calculatedwith the cost of entered material divided by the number of good unitsproceeding to next sequential flow point.
 16. The method claimed inclaim 9 wherein a number is retrieved from a random number generator aseach piece of work enters the first flow point of the product path,comparing this random number to the input values of yield and rework-outpercentage, and each piece is processed down the product path until itis scrapped or enters the end of the path to simulate the total piecesof rework-in at each flow point.
 17. The method claimed in claim 16wherein the yields and rework-out percentage is calculated for each flowpoint.
 18. Apparatus for balancing a model of a manufacturing linehaving a plurality of product paths with the work stations in saidproduct paths ordered into a sequence of path points along each productpath comprising means for ordering the path points in said product pathsinto a sequence of neighborhoods and means for balancing the flow ofwork in said plurality of product paths in said manufacturing linestarting with the last neighborhood in said sequence of neighborhoods.